home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 1
/
Gekikoh Dennoh Club Vol. 1 (Japan).7z
/
Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin
/
kowin
/
archive
/
net
/
k20menus.lzh
/
k20file.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-09-10
|
2KB
|
76 lines
/* Copyright 1992 H.Ogasawara(COR.) */
#include <stdio.h>
#include <sys_doslib.h>
extern char NetMenuFile[];
extern int optins;
#if 0
FILE *fp;
tmpopen( tmpbuf )
{
FILE *fp;
if( GETENV( "TEMP", tmpbuf, NULL ) < 0 )
*tmpbuf= '\0';
strcat( tmpbuf, "k20_tmpfile.000" );
while( fp= fopen( tmpbuf, "r" ) ){
fclose( fp );
tmpbuf[strlen( tmpbuf )-3]++;
}
freopen( tmpbuf, "w", fp );
return fp;
}
#endif
add_netlist( addline, key )
char *addline, *key;
{
FILE *fp, *fo;
if( fp= fopen( NetMenuFile, "r" ) ){
short mod= 0;
char tmpfile[80],
backup[80],
linebuf[512];
char *p;
strcpy( tmpfile, NetMenuFile );
strcpy( strrchr( tmpfile, '.' ), ".tmp" );
strcpy( backup, NetMenuFile );
strcpy( strrchr( backup, '.' ), ".bak" );
DELETE( tmpfile );
if( !(fo= fopen( tmpfile, "w" )) ){
fclose( fp );
return 0;
}
fgets(linebuf,512,fp); fputs(linebuf,fo);
fgets(linebuf,512,fp); fputs(linebuf,fo);
while( fgets(linebuf,512,fp) ){
char buf[40];
getword( buf, linebuf );
if( !mod && !strcmp( buf, key ) ){
mod= 1;
if( *addline ){
fputs( addline, fo );
fputc( '\n', fo );
if( optins )
fputs(linebuf,fo);
}
}else
fputs(linebuf,fo);
}
if( !mod && *addline ){
fputs( addline, fo );
fputc( '\n', fo );
}
fclose( fo );
fclose( fp );
DELETE( backup );
RENAME( NetMenuFile, backup );
RENAME( tmpfile, NetMenuFile );
return 1;
}
return 0;
}